package com.ryder.petmatediarybackend.module.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ryder.petmatediarybackend.module.shop.dto.CreatePetCollectionDTO;
import com.ryder.petmatediarybackend.module.shop.entity.ShopPetCollection;
import com.ryder.petmatediarybackend.module.shop.vo.PetCollectionVO;

import java.util.List;

/**
 * 描述: 店铺宠物合集表（仅展示，不含交易）(ShopPetCollection)表服务接口
 * 
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-31
 */
public interface ShopPetCollectionService extends IService<ShopPetCollection> {

    /**
     * 创建宠物合集
     */
    PetCollectionVO createPetCollection(Long userId, CreatePetCollectionDTO dto);

    /**
     * 获取我的店铺宠物合集列表
     */
    List<PetCollectionVO> getMyPetCollections(Long userId);

    /**
     * 更新宠物合集
     */
    PetCollectionVO updatePetCollection(Long userId, Long id, CreatePetCollectionDTO dto);

    /**
     * 删除宠物合集
     */
    void deletePetCollection(Long userId, Long id);

    /**
     * 上架/下架宠物
     */
    void updateStatus(Long userId, Long id, Integer status);

    /**
     * 根据店铺ID获取宠物合集列表（公开接口）
     */
    List<PetCollectionVO> getByShopId(Long shopId);
}
